함수와 메소드
내용
A
statsmodels.tsa.stattools.acf(x, adjusted=False, nlags, qstats=False, alpha=None,...)
- 매개변수 nlags에 지정한 시차까지의 자기상관계수를 반환
- adjusted=True이면 자유도 (샘플수 - 설명변수의 수)를 고려
- qstats=True이면 Ljung-Box q statistic 분석 즉, 자기상관=0 이라는 귀무가설을 검정하고 p-value를 반환
- alpha를 지정하면 신뢰구간을 반환, 0.05 경우 95% 신뢰구간
statsmodels.ap.add_constant(설명변수)
- 설명변수의 행렬에 모든 요소들이 1인 편차항을 포함시킵니다.
- $$X=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix} \rightarrow X0=\begin{bmatrix}1& x_1\\1& x_2\\\vdots\\1& x_n\end{bmatrix}$$
np.allclose(A, B, rtol = 1e−05, atol = 1e−08)
- 객체 A, B의 모든 원소가 같으면 True, 그렇지 않으면 False를 반환
- 각 원소값은 상대 임계값(rtol)과 절대 임계값(atol)을 기준
- rtol과 atol의 기본값은 각각 소수점 이하 5자리 그리고 8자리까지 비교
scipy.stats.ansderson(x, dist="norm")
- x: 배열 계열의 객체
- dist: 다양한 분포를 지정할 수 있음(‘norm’, ‘expon’, ‘logistic’, ‘gumbel’…)
- 기본은 nor(정규분포)
- 임계값(critical_values), 유의 수준(significance_level, %), x가 지정된 분포에 부합하면 그 분포의 위치정보(평균과 분산) 등의 통계량 반환
- signifcance_level에 대응하는 critical_values로서 5개의 값이 반환
statsmodels.ap.stats.anova_lm(model)
- statsmodels.formula.api.ols에 의해 생성되는 모형(model)을 인수로 받아 anova를 실행합니다.
np.any(객체, axis=None, …)
- 지정한 축에 True인 원소가 존재하면 True
np.arccos(x)
- cos 값의 역수를 반환 (y=cos(x) → x=arccos(y))
np.argsort(x, axis=-1, kind=None)
- 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다.
- axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축)
np.around(M, decimal=0)
- 배열 객체 각 요소의 반올림을 실행
- decimal은 반올림 자릿수를 지정하는 것으로서 0이 기본값
numpy.array(x, dtype=None, …)
- x: 리스트 객체 예) [1,2,3], [[1,2],[3,4]]등
- 객체의 대괄호 한 개는 행을, 그 내부에 포함된 값의 수는 열의 수를 의미
- 단지 대괄호가 한개만 존재하면 벡터를 의미.
- 시작하는 대괄호의 갯수는 차원을 나타냄. 예로서 [[1, 2], [3, 4]]의 차원은 2 × 2로 행과 열을 가진 2차원
- dtype: 인수로 전달하는 값(들)의 자료형을 지정
- 지정하지 않을 경우 입력한 형식으로 자동지정 됩니다.
- 지정 예) float: 부동소수(실수)
- 다른 자료형을 array로 전환할 경우 지정 필요
numpy.array(x, dtype=None, …)
- x: 리스트 객체 예) [1,2,3], [[1,2],[3,4]]등
- 객체의 대괄호 한 개는 행을, 그 내부에 포함된 값의 수는 열의 수를 의미
- 단지 대괄호가 한개만 존재하면 벡터를 의미.
- 시작하는 대괄호의 갯수는 차원을 나타냄. 예로서 [[1, 2], [3, 4]]의 차원은 2 × 2로 행과 열을 가진 2차원
- dtype: 인수로 전달하는 값(들)의 자료형을 지정
- 지정하지 않을 경우 입력한 형식으로 자동지정 됩니다.
- 지정 예) float: 부동소수(실수)
- 다른 자료형을 array로 전환할 경우 지정 필요
pandas.Series.autocorr(lag=1)
- lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산
B
scipy.stats.bartlett(*samples)
- 등분산성을 위한 Bartlett 검정을 실행
- 두개 이상의 벡터(1 차원 numpy 객체)들을 인수로 전달
- 통계량과 p-value를 반환
scipy.stats.bernoulli(x, p)
- 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
- x: 랜덤변수
- p: 단일 시행에서의 확률
DataFrame.bfill()
- 결측지를 그 직후 값으로 치환
sklearn.preprocessing.Binarizer(*, threshold=0.0, copy=True)
- 매개변수 threshold에 지정한 값을 기준 데이터를 이분화하는 클래스
- x ≤ threshold → 0
- x > threshold → 1
scipy.stats.binom(x, n, p)
- 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
- x: 랜덤변수
- n: 총 시행횟수
- p: 단일 시행에서의 확률
C
np.random.choice(x, size=None, replace=True, p=None)
- 주어진 수들(x)에서 무작위로 지정된 갯수(size)를 추출 합니다.
- x: 1차원 객체 또는 정수 입니다. 만약 정수로 주어진다면 np.arange(정수)로 인식합니다. 즉, [0, 지정한 정수)의 범위에서 주어진 크기 만큼의 랜덤 샘플이 생성
- replace: 추출의 방식을 지정. True는 복원이고 기본값입니다.
- p: 객체의 각 값에 확률을 부여하기 위한 매개변수
식.coeff(변수, 차수)
- 식(sympy 객체)으로부터 지정한 변수와 차수에 대응하는 계수를 반환.
collect(eq, variable)
- 지정한 변수의 차수를 기준으로 식을 정렬하는 sympy 함수
x1.column_join(x2)
- 객체 x1과 x2를 열의 방향으로 결합
M.columnspace()
- 행렬 M의 열공간을 반환
scipy.special.comb(n,k)
- n개 중에서 중복없이 순서를 고려하지 않고 k개를 선택하는 경우의 수 (조합)
itertools.combiations(x, r)
- iterable 객체 x(확률변수)에 대해 지정한 수(r)만큼 선택한 조합의 모든 경우를 반환
- iterable는 리스트, 튜플 형과 같이 각 요소의 순서에 맞게 호출할 수 있는 객체입니다.
- x의 길이 = n → 0 ≤ r ≤ n
- r > n 일 경우 itertools.combinations_with_replacement(x, r)을 사용
statsmodels.stats.weightstats.CompareMeans(d1, d2)
- 두 샘플의 평균을 비교하는 클래스
- 데이터 d1, d2는 DescrStatsW의 인스턴스
- 다음의 속성을 가짐
- std_meandiff_pooledvar: 등분산을 가정하는 경우의 표준오차
- std_meandiff_separatevar: 이분산을 가정하는 경우의 표준오차
- summary(), .ttest_int(), .ztest_int()등의 다양한 메서드를 포함
pandas.concat([x, y, ...], aixs=0, join='outer', ...)
- 두개 이상의 pandas 객체(DataFrame, Series)를 결합
- axis=0은 행단위로, 1은 열단위로 결합
- join은 결합방식을 지정하는 매개변수로서 'outer'은 모든 행 또는 열을 결합, 'inner'는 같은 행이름 또는 열이름만 결합
np.concatenate((a,b,c,…), axis=0)
- 여러 배열 객체들을 결합한 새로운 객체를 생성
- axis: 결합에 기준이 되는 축 지정
- 0:열방향(기본값)
- 1:행방향
np.cos(rad)
- radian 값에 대응하는 cosin 값을 반환
stats.chi2_contingency(obs, correction=True, …)
- 교차표의 변수들 독립성에 대한 χ2 검정 결과를 반환
- obs: 교차표
- 자유도가 1이고 correction=True 이면 연속성에 대한 Yate’s correction을 실행
- χ2 통계량, p-value, dof (자유도), 기대값을 반환
DataFrame.corr(method=”pearson” )
- 객체의 상관행렬을 반환
np.corrcoef(x, y=None, rowvar=True, ddof)
와 같음, 객체 x만 전달할 경우 rowvar 인수를 이용하여 변수가 행단위(기본) 또는 열단위인지를 지정합니다.scipy.stats.pearsonr(x,y)
, 두 객체를 전달하여 피어슨 상관계수와 p-Value를 반환
DataFrame.cov(ddof=1)
- 객체의 공분산행렬을 반환
- ddof는 자유도를 계산하기 위해 표본수에서 제외되는 수를 나타냄
np.cov(배열객체, rowvar=True, ddof=None,...)
와 같음- rowvar = True → 행이 변수
- rowvar = False → 열이 변수
np.cross(x,y)
- 벡터 x, y사이에 외적 (cross product)를 반환
- 벡터 x, y는 행벡터이어야 합니다.
pd.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfrunc="mean", margins=False, margins_name= 'All', dropna= True, normalize=False)
- 두 개 (또는 그 이상)의 요인(factor)에 대한 교차표를 작성합니다.
- index, columns : 각각 행과 열에서 그룹화 할 값
- index와 columns에 대응하는 values를 aggfunc에 지정한 계산을 시행
alues의 지정은 aggfunc의 지정과 함께 하여야 함 - rownames, colnames: 표의 행과 열의 이름
- margins=True → 행합과 열합을 마지막 행과 열에 첨부, 그 행과 열의 이름은 margins_name으로 지정할 수 있음
- dropna=True이면 NA 값은 삭제. 행과 열의 수가 일치하지 않을 경우는 False를 선택 즉, 행과 열의 수가 일치하지 않을 경우 True이면 행 기준의 합과 열의 합 사이에 불일치가 발생
- 값들의 정규화의 여부를 지정. 이 인수에 전달 할 수 있는 인수값은 다음과 같습니다.
- normalize=True or all 이면 각 값은 총합으로 나눈 값을 반환
- normalize=index, 각 행에 대해 정규화
- normalize=column, 각 열에 대해 정규화
np.cumsum(x, axis=None)
- 객체 x의 누적합을 반환합니다.
- 2차원 이상의 객체에서 계산의 기준이 되는 축(axis)을 지정할 수 있습니다. 지정하지 않을 경우 1차원으로 자동 변환하여 누적합을 반환합니다.
pd.cut(x, bins, right=True, labels=None, retbins=False, ...)
- 1차원 배열의 각 값을 지정한 구간(bins)에 대응하는 구간(계급)을 반환합니다.
- 연속형 변수를 범주형 변수로 변환할 경우 유용합니다.
- x : 1차원 배열 객체
- bins: 계급(class) 구간의 갯수를 나타내는 정수 또는 명시적으로 구간을 구분하기 위한 리스트 객체
- right = Ture → (a, b] · right = False → [a, b)
- label: 각 계급 구간에 대한 이름을 지정. 그러므로 bins의 수와 같아야 함
- retbins: bins을 정수로 전달 할 경우 각 계급(class)의 구간을 반환
B
scipy.stats.bartlett(*samples)
- 등분산성을 위한 Bartlett 검정을 실행
- 두개 이상의 벡터(1 차원 numpy 객체)들을 인수로 전달
- 통계량과 p-value를 반환
scipy.stats.bernoulli(x, p)
- 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
- x: 랜덤변수
- p: 단일 시행에서의 확률
DataFrame.bfill()
- 결측지를 그 직후 값으로 치환
sklearn.preprocessing.Binarizer(*, threshold=0.0, copy=True)
- 매개변수 threshold에 지정한 값을 기준 데이터를 이분화하는 클래스
- x ≤ threshold → 0
- x > threshold → 1
scipy.stats.binom(x, n, p)
- 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
- x: 랜덤변수
- n: 총 시행횟수
- p: 단일 시행에서의 확률
D
pd.DataFrame(객체, index, columns)
- 객체는 리스트, 사전 형태 등
- index: 행이름
- columns: 열이름
- 함수에서 직접적으로 행과 열이름을 전달할 수 있지만 DataFrame 객체를 생성한 후 다음과 같이 행과 열 이름을 지정할 수 있습니다.
- DataFrame객체.index: 행이름 지정
- DataFrame객체.columns: 열이름 지정
-
.values
속성을 사용하여 객체의 값만을 추출하여 numpy 배열형을 변환
FinanceDataReader.DataReader(symbol, start=None, end=None, country=None)
- python의 라이브러리인 FinanceDataReader를 사용하여 웹을 통해 다양한 금융 데이터를 호출하여 사용할 수 있으며 이 데이터의 기본 구조는 pandas.DataFrame 구조로서 여러 메소드나 함수를 적용하기에 적합니다.
- 함수 DataReader()는 다음을 반환
- 코드(symbol)에 대응하는 가격 데이터를 호출
- 시작 날짜만 입력하면 현재까지의 자료를 호출
pd객체.day_name
- pandas 객체의 성분 중 요일을 이름으로 반환하는 속성
pd객체.dayofweek
- 객체내에서 표시된 요일을 정수로 반환하는 속성
- 0=월요일, 6=일요일
np.deg2rad(θ)
- θ값을 radian값으로 변환(=np.radians(θ))
pd객체.describe()
- 객체(데이터)의 크기, 평균 등의 기술 통계량을 나타냅니다.
statsmodels.stats.weightstates.DescrStatsW(data, weights=None, ddof=0)
- 샘플 각각에 대한 기술통계량과 검정을 실시하는 위한 클래스
- data: 1차원, 2차원 배열로 여러 열을 가진 자료
- mean, std, corcoef, cov등의 속성을 포함
- ttest_mean(), tconfint_mean(), ztest_mean, zconfint_mean() 등의 다양한 메서드를 포함
scipy.stats.describe(x)
- 배열 객체 x에 대한 기술 통계량을 반환합니다.
- pd객체.describe()에서 반환하는 통계량 종류와 약간 차이를 보입니다.
la.det(M)
- 행렬 M의 행렬식을 계산
np.diag(values) or np.diag(M, k=0)
- 인수 values: 지정한 값들이 대각원소가 되는 대각행렬을 생성.
- 인수 k
- 지정된 k에 따른 행렬(M)의 대각 원소를 반환
- k는 행렬에서 반환할 대각의 위치를 지정
- k = 0 : 주(main) 대각선(기본값)
- k > 0 인 정수 : 주 대각선을 기준으로 위쪽으로 이동
- k < 0 인 정수 : 주 대각선을 기준으로 아래쪽으로 이동
sympy.diff(x, variable, count=1), x.diff(variable, count=1)
- x: sympy 객체로서 식(equation)
- 미분의 기준이 되는 변수(variable)를 지정
- 미분의 차수(count)를 지정하여 고차미분을 실행, 기본값은 1
np.digitize(x, bin)
- 연속형 자료에 대한 그룹화 결과를 반환
- x: numpy 객체
- bin: 그룹의 상한과 하한의 되는 기준 객체입니다.
- bin=[0, 1, 2] 일 경우 그 그룹화 범위는 0 < x ≤ 1, 1 < x ≤ 2이 됩니다.
- bin = 6 → 6개의 소그룹이 생성
sympy객체.doit()
- sympy.integral와 같은 함수는 적분된 식의 형태를 반환합니다. 즉, 최종적인 평가가 이루어지지 않습니다. 이와 같이 평가되지 않은 상태로 반환되는 객체를 평가하기 위해 사용되는 함수입니다.
numpy.dot(x,y)
- 객체 x와 y의 행렬곱 결과를 반환
- 연산자 "
@
"와 같음: a@b
DataFrame.drop(labels=None, axis=0, …)
- DataFrame객체에 행 또는 열을 삭제
- labels: 행 또는 열 이름
- axis= 0: 행 삭제, axis = 1: 열 삭제
DataFrame.dropna(axis=0, how='any', …)
- DataFrame객체에 NaN가 포함된 행 또는 열을 삭제
- axis= 0: 행 삭제, axis = 1: 열 삭제
- how:'any', 'all'
- any: 한 개 이상의 NaN이 존재하는 행 또는 열을 삭제하기
- all: 행 또는 열의 모든 값이 NaN일 경우 삭제
statsmodels.stats.stattools.durbin_watson(resids, axis=0)
- Durbin_Watson 통계량을 계산
- 1차원 이상의 객체일 경우 기준 축을 지정
E
numpy.linalg.eig(x)
- numpy array 형인 x에 대해 고유값과 고유벡터를 계산
- sympy 패키지의 .eigvals(), .eigvects() 메소드는 각각 고유값과 고유벡터를 반환
sklearn.linear_model.ElasticNet(alpha=1.0, l1_ratio=0.5, fit_intercept=True, normalize=False, max_iter=1000, tol=0.0001, …)
- elasticnet 회귀모델을 위한 클래스(elasticnet 회귀모형생성)
- l1_ratio를 지정함으로서 l1 norm, l2 norm을 모두 적용할 수 있습니다. 기본값은 0.5
- model=sklearn.linear_model.ElasticNet()
- model.fit(x, y): 클래스에 적용될 설명변수, 종속변수를 전달하는 메서드
- model.predict(x): 생성된 모형에 의한 추정값 산출하는 메서드
- model.score(x, y): 결정계수(R2)을 반환하는 메서드
- model.coef_: 모형의 회귀계수를 반환하는 속성
- model.intercept_: 모형의 절편항를 반환하는 속성
- 이외에도 다양한 메소드와 속성이 존재합니다.
- ElasticNetCV() 클래스는 교차 평가(cross validation)에 의해 적절한 α와 l1 ratio를 결정하여 모델 생성
- 클래스의 인수 cv에 의해 교차평가를 위한 그룹의 수를 지정
- 인수 alpha에 비교할 α의 목록을 지정, 지정하지 않은 경우 자동으로 결정
sympy.Eq(x, y)
- 식을 나타내는 두 인수 x, y로부터 x = y가 성립하는 새로운 식을 반환
np.equal(a, b)
- 배열 객체 a, b의 원소 단위로 같음을 판단
x.evalf(n), N(x, n)
- x를 지정된 유효숫자(n)를 기준으로 반올림합니다.
sympy.exapnd(x)
- 식 x를 전개된 형태로 반환
scipy.stats.expon(x, loc=0, scale=1)
- 지수분포를 위한 클래스, f(x) = exp(−x)
- loc = 0, scale = 1: 표준화된 분포
- expon.pdf(y) ← y = (x − loc)/scale
- 지수분포의 모수인 평균 발생률 λ로 부터 scale=1/λ이 성립
np.eye(# of row or column)
- 배열 객체 a, b의 원소 단위로 같음을 판단
eye(n)
- n차원의 항등행렬을 생성
F
sklearn.feature_selection.f_classif(X, y)
- 자료의 ANOVA F-value를 계산
- X: 설명변수, y: 반응변수
- F 통계량, p-value를 반환
scipy.stats.f_oneway(x, y,…)
- 인수 x, y, …는 1차원 벡터 또는 pandas.Series 형태의 단변수 자료.
- 각 객체에 대한 일원분산분석의 결과인 F 검정통계량과 p-value를 반환
sympy.factor(식)
- 식을 간단한 형태로 반환 즉, 분수의 경우 인수분해한 상태의 식을 반환
np.math.factorial(n)
- numpy.math 모듈 함수
- 양의 정수 n의 팩토리얼을 계산(=n!)
DataFrame.ffill()
- 결측지를 그 직전의 값으로 치환
np객체.flatten()
- 객체의 차원을 1차원으로 변환
scipy.stats.fligner(*samples, center='median', proportiontocut=0.05)
- samples: 1차원 벡터들에 대한 등분산성을 위한 Flinger-Killeen 검정을 실시
- center: 중심위치는 mean(평균), median(중간값), trimmed(절사평균) 중의 하나로 지정
- 절사평균을 지정할 경우 절사할 비율을 매개변수 propotiontocut에서 지정
sklearn.feature_selection.f_regression(x, y, center=True)
- x의 각 설명변수와 반응변수 y에 대해 생성되는 각 회귀 모형에서의 F 분석을 실행
- 검정통계량의 F값과 유의확률(p-value)를 반환
- 이 함수의 인수 중 y는 1차원 즉, 벡터이어야 합니다.
sympy.fps(f, x=None, x0=0, dir=1, …)
- 함수 f의 급수를 공식화하여 나타냅니다.
- x: 급수의 변수
- x0: 시작점이며 기본값은 0
- dir: 급수 전개의 방향을 나타내며 1 또는 '+'일 경우 x0을 기준으로 오른쪽, -1 또는 '-'일 경우는 왼쪽으로 전개되는 식을 나타냄
G
scipy.speical.gamma(z)
- 인수 z은 실수 또는 복소수이며 그 값에 대한 팩토리얼을 계산
pandas.get_dummies(x, prefix=None, dummy_na=False, dtype=None)
- 전달되는 데이터인 x는 1차원 Array, pandas Series, 그리고 DataFrame 모두 가능
- 데이터의 고유값(unique value)에 대응하는 클래스를 생성하여 값에 적합한 클래스에 True, 나머지 클래스에 False를 할당(one-hot encoding)
- True와 False로 표시가 기본값
- 인수 dtype = "int": True → 1, False → 0
- dummy_na = True: 데이터의 포함된 Na를 포함
pd.get_dummies(['A', 'A', 'C', 'C', 'B'])
A B C 0 True False False 1 True False False 2 False False True 3 False False True 4 False True False pd.get_dummies(['A', 'A', 'C', 'C', 'B'], dtype='int')
A B C 0 1 0 0 1 1 0 0 2 0 0 1 3 0 0 1 4 0 1 0 y=pd.DataFrame([['A', 'A', 'C', 'C', 'B'],['B', 'A', 'C', 'A', 'B']]) pd.get_dummies(y)
0_A 0_B 1_A 2_C 3_A 3_C 4_B 0 True False True True False True True 1 False True True True True False True
DataFrame.groupby(by=None, axis=0, level=None, …, dropna=True)
- 인수 by에 지정한 기준으로 데이터 프레임을 그룹화합니다.
- by: mapping, function, label, or label들의 리스트를 인수로 전달하여 그룹화의 기준을 지정
- 예) DataFrame.groupby("a").mean(): 인자 a에 의해 자료를 분류하고 그룹화된 값들의 평균을 반환합니다.
- 이 함수에 의한 결과는 자료형이 지정되지 않은 상태이므로 확인을 위해서는 list()등을 적용하여 자료형을 지정해주어야 합니다. 이러한 방식의 평가를 게으른 평가(lazy estimation)이라고 합니다. 또는 반복문을 사용하여 이 결과의 각 구성물들을 확인할 수 있습니다.
- 반환물의 구조와 속성은 dir() 함수를 사용하여 확인할 수 있습니다.
H
statsmodels.stats.diagnostic.het_breuschpagan(x, 설명변수, robust=True)
- 회귀 모델에 의한 잔차(numpy 배열 객체)의 이분산성 검정을 실시
- x는 다음의 잔차를 의미
error = y - model.predict residModel = error2 ~ explanatory variables x = residModel.resid
- robust
- True: 잔차의 정규성과 독립성을 가정
- False: 잔차의 정규성만 가정
- 라그랑주 승수 통계량, 라그랑주 승수 p-value, 잔차가 설명변수에 의존하지 않는다는 가설의 f 통계량, f 통계량에 대한 p-value를 반환
matplotlib.pyplot.hist(x, bins, density=False)
numpy.histogram(x, bins, density=False)
와 동일하지만 이 함수는 그래프를 함께 반환합니다.
numpy.histogram(x, bins, density=False)
- x: numpy 객체로서 2차원 이상의 객체일 경우 1차원으로 자동 변환
- bins: 데이터를 그룹화하기 위한 클래스의 수 또는 각 그룹의 상한값과 하한값으로 구성한 객체
- density: True일 경우, 빈도 대신 밀도가 반환
density = Frequency · n Number of bin n: data 크기
- 위 식과 같이 밀도는 확률분포함수 그래프에서 (y의 길이)/(x의 길이)를 의미합니다. 그러므로 연속변수의 경우 한 지점에 대해 밀도를 특정할 수 없습니다. 대신에 연속변수를 몇 개의 구간으로 그룹화한 경우 밀도는 위의 식과 계산할 수 있습니다.
np.hstack((a, b, c,…))
- 객체들을 행방향으로 결합 = np.c_[a, b, c,…]
I
DataFrame.insert(loc, column, value, allow_duplicates=False)
- 지정한 위치(loc)에 데이터(열)를 삽입
- loc: 삽입할 열 위치 (0, 1, 2, …)
- column: 삽입할 열이름
- value: 삽입할 열 데이터
sympy.integrate(식, 변수)
- 식의 적분 계산
- 부정 적분: 계산 결과에는 상수항이 생략되어 있음을 주의해야 합니다.
- 정적분:
integrate(식, (변수, 범위 하한, 범위 상한))
- 1개 이상의 변수에 대한 다중 적분은 지정된 변수의 순서에 따라 적분이 실행됩니다.
integrate(식, 변수1, 변수2, ...)
integrate(식, (변수1, 범위 하한, 범위 상한), (변수2, 범위 하한, 범위 상한),...)
- 미분의
Derivative()
와 같이 최종적으로Integral()
함수는 평가되지 않은 적분의 형태를 반환합니다. 평가를 위해서는.doit()
함수를 결합합니다.
numpy.linalg.inv(M)
- M의 역행렬을 생성
- scipy.linalg 모듈의 inv() 함수와 동일합니다.
scipy.stats.iqr(x, axis=none, rng=[25, 75])
- x: numpy 객체
- axis: 2차원이상의 객체의 경우 기준이 되는 축을 지정
- rng: 사분위의 범위 계산의 기준을 지정하는 것으로 Q1, Q3가 기본값입니다.
numpy.isclose(a, b, rtol=1e-05)
- 두 행렬의 각 요소의 같음, 다름을 True, False로 반환
- 인수 rtol에서 지정한 위치까지의 숫자를 검사. 기본값은 소수점이하 5자리까지 검사
DataFrame.isna()
- 값이 결측치이면 True, 아니면 False를 반환
Timestamp.isocalendar()
- 연, 월, 일이 구성된 Timestamp 객체에서 년, 월 그리고 일을 분리하여 반환. day는 요일로 전환됨
- 2021-1-1 → 2000, 1, 1
- 일 :1:월요일 ∼ 7:일요일
- Timestamp객체는 pandas의 DatetimeIndex 객체를 포함
- 분리된 각 결과는
.year, .week, .day
속성을 사용하여 호출
J
scipy.stats.jarque_bera(x, axis=None, ...)
- numpy 객체인 x에 대해 Jarque-Bera 정규성 검정을 실행
- 검정통계량, p-value를 반환
statsmodels.stats.stattools.jarque_bera(x, axis=0)
와 같음- 검정통계량, p-value, 왜도, 첨도를 반환
K
scipy.stats.kstest(x, cdf, args=(), N=20, alternative=’two-sided’, …)
- Kolmogorov-Smirnov test를 수행
- x: 1차원 데이터
- cdf: 1차원 데이터 또는 문자열인 경우 scipy.stats에서 지원되는 함수의 이름
- args: 분포(cdf)의 매개변수
- N: 샘플 사이즈로 기본값은 20입니다.
- alternative: 양측, 단측검정, 기본값은 양측검정
- 검정통계량과 p-Value를 반환
scipy.stats.kurtosis(data, axis=0)
- 지정한 축에 따라 자료의 첨도를 반환
L
sklearn.preprocessing.LabelBinarizer()
- 라벨표시 행렬을 생성하는 클래스
fit()
메소드로 데이터를 클래스에 적합시킴transform()
메소드로 이진화된 라벨표시 행렬을 반환- 속성
.class_
으로 오름차순으로 정렬된 목록의 라벨을 확인
sklearn.preprocessing.LabelEncoder()
- 각 변수의 인덱스를 사용하여 명목변수를 수치형으로 전환하는 클래스
- x=sklearn.preprocessing.LabelEncoder()
- x.fit(객체)
- x.class : 오름차순으로 정렬한 클래스의 이름을 나타냄
- x.transform(객체): 클래스의 인덱스를 반환, 인코딩
- x.inverse_transform(변환된 객체): 원시데이터로 환원, 디코딩
sklearn.linear_model.Lasso(alpha=1.0, *, fit_intercept=True, normalize=False, max_iter=1000, tol=0.0001, …)
- lasso 회귀모델을 위한 클래스(Lasso 회귀모형생성)
- l1 norm을 적용합니다.
- model=sklearn.linear_model.lasso()
- model.fit(x, y): 클래스에 적용될 설명변수, 종속변수를 전달하는 메서드
- model.predict(x): 생성된 모형에 의한 추정값 산출하는 메서드
- model.score(x, y): 결정계수(R2)을 반환하는 메서드
- model.coef_: 모형의 회귀계수를 반환하는 속성
- model.intercept_: 모형의 편차를 반환하는 속성
- 이외에도 다양한 메소드와 속성이 존재합니다.
LassoCV(alphas=, …)
클래스는 교차검증(cross-validation) 방법으로 적절한 α를 선정하여 lasso 모델을 생성- 클래스의 인수 cv에 의해 교차평가를 위한 그룹의 수를 지정
- 인수 alpha에 비교할 α의 목록을 지정, 지정하지 않은 경우 자동으로 결정
LassoLarsIC(criterion="aic", …)
- AIC 또는 BIC를 기준으로 모델을 선택
- criterions_ 속성으로 조사하는 모델들의 AIC, 또는 BIC를 확인
- 이 클래스에 생성되는 모델은 AIC, BIC의 최적값에 대응
scipy.stats.levene(*samples, center='median', proportiontocut=0.05)
- samples: 1차원 벡터들에 대한 등분산성을 위한 Levene 검정을 실시
- center: 중심위치는 mean(평균), median(중간값), trimmed(절사평균) 중의 하나로 지정
- 절사평균을 지정할 경우 절사할 비율을 매개변수 propotiontocut에서 지정
sklearn.linear_model.LinearRegression()
- 선형모형을 위한 클래스( 회귀모형생성)
- 이 클래스의 메소드는 sklearn.linear_model.Lasso()와 같음
pandas.linspace(start, stop, size)
- [start, stop) 범위에서 일정한 간격으로 지정한 크기(size)의 수들을 반환
scipy.linalg.linalg.lu(M)
- 행렬 M의 LU 분해를 실시
M
DataFrame.mad(axis=none, skipna=na)
- 지정한 축에 따라 평균 절대편차(mean absolute deviation)를 반환
- axis: 연산 기준 축 지정
- 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.
make_classification(n_samples, n_features, n_informative, n_redundant, n_repeated, random_state, …)
- sklearn.datasets 클래의 함수
- 분류용 가상 데이터를 생성
- n_samples : 샘플의 수(행 수), 기본값 100
- n_features : 특성(변수)의 수(열 수), 기본값 20
- n_informative : 변수들 중 상관 관계가 있는 성분의 수, 기본값 2
- n_redundant : 변수 중 다른 변수의 선형 조합으로 나타나는 성분의 수, 기본값 2
- n_repeated : 독립 변수 중 단순 중복된 성분의 수, 기본값 0
- n_classes : 변수의 클래스 수, 기본값 2
- n_clusters_per_class : 클래스 당 클러스터의 수, 기본값 2
- weights : 각 클래스에 할당된 표본 비율
- random_state : 난수 발생 시드
- 반환: X(셜명변수), y(반응변수)
make_Regression(n_samples, n_features, n_informative, n_redundant, n_repeated, …)
- sklearn.datasets 클래의 함수
- 회귀모델을 위한 가상 데이터를 생성
- 함수의 인수들은 make_Classification 참조
DataFrame.mask(조건, other=None)
- 객체내에 조건에 부합하는 값들을 other로 치환. other를 지정하지 않을 경우 조건에 부합하는 값은 NaN으로 치환.
np.max(x, axis=None)
- 배열 객체 x에서 지정한 축에 따라 최대값을 반환
- axis: None일 경우 1차원 벡터로 자동 변환 후 최대값 반환
-
array.max(axis), pd객체.max(axis)
와 같음
sklearn.preprocessing.MaxAbsScaler()
- 변수의 최대값의 절대값을 기준으로 각 데이터의 비를 계산
.fit() 메소드로 데이터에 적합시키고.transform() 메소드로 데이터를 변형.inverse_transform() 메소드를 사용하여 원 데이터로 환원- 다양한 속성이 있음
Matrix(x)
- 객체 x를 행렬 등의 배열 객체로 변환
- numpy 배열 객체의 경우 sympy의 행렬 객체로 변환
la.matrix_power(M, k)
- 행렬 M 에 대해 Mk 를 계산
la.matrix_rank(M)
- 행렬 M의 급수 (rank)를 반환
numpy.mean(x, axis=none, skipna=na)
- 지정한 축을 기준으로 산술평균을 계산 (=
x.mean(axis=none)
) - axis: 연산 기준 축 지정
- 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.
x.mean(axis=0, skipna=True)
- Pandas 객체 x(DataFrame, Series)의 지정한 축을 기준으로 산술평균을 계산
- axis: 0(기본값, 열평균), 1(행평균)
- 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.
sklearn.metrics.mean_absolute_error(y_true, y_pred, …)
- 관찰값과 추정값(pred)에 대한 평균절대오차(mae)를 계산
sklearn.metrics.mean_squared_error(true, pred, squared=True, …)
- 관측값과 추정값(pred)에 대한 평균제곱오차(mse)를 계산
- squared=False 인 경우는 rmse(=mse0.5)를 반환
- 이 함수는 자유도를 고려하지 않음, 즉 mse/샘플 수
numpy.median(x, axis=none, …)
- 지정한 축을 기준으로 중간값을 반환
scipy.stats.median_abs_deviation(x, axis=0)
- 지정한 축을 기준으로 절대 편차 중간값을 반환
pd.melt(DataFrame, id_vars, value_vars, var_names, value_name,...)
- 자료(DataFrame)를 식별자 변수(id_vars)에 대응하는 측정 변수(value_vars)를 나타내는 형식으로 구조를 변환합니다.
df=pd.DataFrame({"A":["a1","a2","a3"], "B":["b1",'b2','b3'], 'c':[1,2,3],'d':[0.1,0.2,0.3]}) df
A B c d 0 a1 b1 1 0.1 1 a2 b2 2 0.2 2 a3 b3 3 0.3 pd.melt(df, id_vars=["A","B"], value_vars=["c","d"], var_name="varName", value_name="val")
A B varName val 0 a1 b1 c 1.0 1 a2 b2 c 2.0 2 a3 b3 c 3.0 3 a1 b1 d 0.1 4 a2 b2 d 0.2 5 a3 b3 d 0.3 - id_vars: 분리의 기준이되는 변수(들)의 열이름
- value_vars: id_vars의 각 변수에 대응하는 값들의 열이름
- value_vars의 값들을 재구조화 합니다. 위의 경우 변수이름 c, d를 한 열에 나타내고 각각에 대응하는 값을 또다른 열에 나타냅니다. 각 열이름은 var_name, value_name으로 지정할 수 있음
np.min(x, axis=None)
- 배열 객체 x에서 지정한 축에 따라 최소값을 반환
- axis: None일 경우 1차원 벡터로 자동 변환후 최소값 반환
-
array.min(axis)
, pd객체.min(axis)과 같음
sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1))
- 데이터를 행 단위로 다음과 같이 스케일 합니다. 다음의 첫번째 식은 데이터의 표준화를 위한 것으로 분모에 분산 대신 데이터의 범위를 사용한 것입니다.
Xstd = x − μ Xmax − Xmin Xscaled = Xstd(Xmax − Xmin) + Xmin
.fit()
메소드로 데이터에 적합시키고.transform()
메소드로 데이터를 변형.inverse_transform()
메소드를 사용하여 원 데이터로 환원- 다양한 속성이 있음
DataFrame.mode(axis=0, numeric_only=False, dropna=True)
- 지정한 축을 따라 최빈값을 반환
scipy.stats.mode(x, axis=0, keepdims=True)
- 객체 x의 지정한 축(axis)에 따라 최빈값(들)을 결정합니다.
- x는 수치형으로 구성된 객체이어야 합니다.
sklearn.preprocessing.MultiLabelBinarizer()
- 다중클래스 표시 행렬을 생성
.fit()
메소드로 데이터에 적합,.transform()
메소드로 데이터로부터 다중클래스 표시행렬을 생성
N
np.ndim()
- np 객체인 arr의 차원 반환
la.norm(v, ord=None, axis=None)
- 벡터 v의 norm을 계산
- 인수 ord는 norm을 계산하는 방식을 지정하는 것으로 None=Frobenius Norm을 적용(참조)
- axis: 벡터는 1개의 축을 가지지만 행렬 이상의 객체에서 여러 개의 축들로 표현됩니다. 그러므로 axis를 지정하여 배열 내에 포함되는 각 벡터의 놈을 계산
- 행렬의 경우 행은 1, 열 0
- axis 값에서 행이 제일 큰 값, 다음이 열의 순으로 정해짐
- 예) 3차원 배열의 경우 축은 3개, axis = 2: 행, 1: 열, 0: 나머지 축으로 지정
sklearn.preprocession.Normalizer(norm="l2")
- 데이터의 각 샘플이 단위벡터가 되도록 변환
- 인수 norm에 l1, l2 또는 max
- norm = "l1" → L1 정규화, x/(∑|x|)
- norm = "l2" → L2 정규화, x/(∑x2)0.5
- norm = "max" → x/(max|x|)
- 기본값은 l2
M.nullspace(x)
- 객체 M의 영공간(null space)을 반환
O
sympy.O()
- O()(알파벳 문자 O)는 x = ∞를 나타내는 기호로서 컴퓨터 과학에서 사용하는 Big O notation 입니다.
sklearn.preprocessing.OneHotEncoder()
- 특정한 값에 해당하는 인덱스에 1, 나머지는 0을 할당하는 방식으로 데이터 변환하는 클래스
- 전달하는 인수는 2차원 이상의 배열 구조 이어야 합니다.
.fit(data)
: estimator 생성하는 메서드.transform(data)
: 변환된 결과를 생성하는 메서드. 이 결과는 자료형이 지정되지 않은 상태로.toarray()
메소드에 의해 array 형으로 전환한 후 나타냄- 위의 두 메소드를 결합하여
.fit_transform(data)
로 처리할 수 있습니다. .inverse_transforme(변환된 data)
: 원시데이터로 환원된 결과를 반환하는 메소드.categories_
: data의 클래스(목록)를 즉, 각 변수의 고유값을 반환하는 속성
statsmodels.formula.api.ols("Y ∼ C(X)", data)
- 회귀분석을 모형을 생성하는 클래스
- Y:반응변수, X: 설명변수
- ols() 함수에 전달되는 인수 중 명목변수는 C(변수이름) 함수를 적용하여야 합니다.
- 인수: "반응변수 ~ 설명변수"의 형태의 식(formula)
- 교호작용: "설명1*설명2*..." 형태의 식을 첨가
- 절편항을 제거하기 위해서는 식(formula)에 '-1' 을 첨가합니다.
- 이 모형을 지정한 data에 적용하기 위해서는
.fit()
메소드를 적용 - 모든 결과는
.summary()
메소드로 나타냄
statsmodels.api.OLS(Y, X)
- 회귀분석을 모형을 생성하는 클래스
- Y:반응변수, X: 독립(설명)변수
- 이 모형을 지정한 data에 적용하기 위해서는
.fit()
메소드를 생성 - 결과는
.summary()
메소드로 나타냄 - 생성된 모델의 이상치 분석을 위한 여러 기준들은 get_influence() 메소드로 확인
- 이상치 기준의 모든 결과는 get_influence().summary_frame() 으로 확인 할 수 있음
sklearn.preprocessing.OrdinalEncoder(categories="auto")
- 목록변수를 정수(배열형)로 인코딩하는 클래스
- categories를 기본값(auto)으로 지정하면 고유값들을 올림차순으로 지정하고 각각에 대응하는 인덱스로 변환, 동일한 형태의 배열형태로 값을 지정하면 그 값에 대응하여 변환
statsmodels.stats.outliers_influence.outlier_test(model, method="bonf",...)
- Bonferroni 방법으로 이상치를 결정합니다.
- 이 함수의 인수는 분산분석 또는 회귀분석 모델입니다.
- Studentized residuals, the unadjusted p-value, 그리고 Bonferroni 방법에 의해 수정된 corrected p-value을 반환
- 이 수정된 p-value 값이 1이하 값이 되면 이상치로 결정할 수 있습니다.
P
sklearn.decomposition.PCA(n_components=None, ..., random_state=None)
- 자료에 대한 특이값 분해(SVD)를 사용하여 주성분 분석을 실행합니다.
n_components
: 산출하고자 하는 주성분의 수로 정수 입니다- None인 경우 공분산의 모든 주성분을 사용
- 다양한 방법이 존재
- 속성
components_
,explained_variance_
는 각각 자료의 고유벡터와 고유값을 나타냄 - 속성
expalined_variance_ratio
는 고유값들의 합 중에 각 고유값 비율을 반환 - 속성
.mean_
은 각 변수의 평균(=변수.mean(axis=0))
DataFrame.pct_change(period=1,...)
- 열단위로 period로 지정한 간격에 위치한 값들 사이의 변화율 계산, period의 기본값은 1
scipy.stats.chi2.pdf(x, df, loc=0, scale=1)
- 카이제곱분포의 확률밀도함수를 계산
- x: 확률변수
- df: 자유도
scipy.stats.f.pdf(x, d1, d2, loc=0, scale=1)
- F분포의 확률밀도함수 계산
- d1: 분자의 자유도
- d2: 분모의 자유도
scipy.stats.pearsonr(x, y)
- 두 배열 객체 x, y의 피어슨 상관계수와 양쪽 검정의 결과인 p-value를 반환
scipy.special.perm(n,k)
- n개 중에서 k개를 선택하는 경우의 수(순열) 계산
itertools.permuation(확률변수, r)
- 모든 확률변수에서 r개를 선택하는 순열의 경우를 반환
- 확률변수의 수= n → 0 ≤ r ≤ n
Piecewise((식, 조건),(식, 조건),...)
- 변수의 조건에 따라 적용되는 식이 다른 조각 함수(piecewise function)를 계산
- 결과 중 특정한 부분을 선택하기 위해
object.args[index]
를 사용합니다. 그 선택된 결과 중 [0]은 함수, [1]은 조건만 선택됩니다.
pandas.pivot_table(df, values=None, index=None, columns=None, aggfunc='mean', margins=False, …)
- df: dataframe 구조의 데이터
- index 또는 column에 따라 value를 구분하여
- DataFrame을 index(row)와 columns에 대응하는 value를 지정한 함수 aggfunc에 따라 계산
-
pd.crosstab()
유사하지만 이 함수는 values값들이 존재해야 합니다. - margins=True이면 각 열 또는 각 행의 합을 계산하여 margin 열 또는 행에 나타냄
이 열 또는 행의 이름은 margins_name='All'로 지정, 기본값은 'All'
scipy.stats.nbinom.pmf(k, n, p)
- 음이항분포의 확률질량함수
- k: 실패수, n: 성공수, p: 성공확률
- scipy.stats 참조
np.precentile()
- np.quantile() 함수 참조
np.place(x, cond, vals)
- 객체 x에서 조건(cond)에 해당하는 부분을 지정한 값(vals)로 변환
matplotlib.pyplot.plot(x, y, linestyle, linewidth, color, marker, markersize...)
- 선그래프와 산점도를 작성합니다.
- x, y: x,y 축에 입력될 값들
- linestyle: 선 종류
- linewidth: 선 두께
- color: 선 색
- marker: 점을 표시하는 모양
- markersize: marker의 크기
- color와 marker 또는 선 종류는 "ro", "b+", "g-"와 같이 동시에 지정할 수 있습니다. 각각 red & circle, blue & +, green & dashed line을 의미합니다.
- 기본적으로 선그래프를 나타내지만 marker 인자만을 전달 할 경우 산포도를 작성
print()
- 결과를 출력하는 내장함수
print()
- 코드의 결과를 모니터에 출력합니다. 이 함수에 의한 출력은 결과의 내용만을 나타냅니다. 다음의 이 함수를 사용하지 않은 경우와 비교해보면 명확해집니다.
a=np.array([3, 1]) a
array([3, 1])
print(a)
[3 1]
- sympy 객체는 다음과 같이 latex 방식으로 됩니다.
M=Matrix([[3, 1], [2, 4]]) M
- 이 객체는 print()함수에 의해 다음과 같이 표현됩니다.
print(M)
Matrix([[3, 1], [2, 4]])
- sympy 객체를 numpy.array 객체로 변환하여 print()함수에 의한 결과는 다음과 같습니다.
print(np.array(M))
[[3 1] [2 4]]
scipy.stats.probplot(x, sparams=(), dist='norm', fit=True, plot=None, rvalue=False)
- 지정한 분포를 기준으로 데이터(x)의 QQplot을 작성.
- x: 배열 형태의 객체
- sparams: 지정한 분포의 모수(형태모수, location, scale)
- dist: 분포의 형태를 지정. 기본값은 정규분포( norm)
- fit: 최적합 회귀선
- plot: 이 결과를 그래프로 나타내기 위해 사용할 모듈을 지정
- rvalue: 회귀선의 결정계수(R2) 표현 여부
- x 축(이론적 분위수), y축(올림차순으로 정렬된 표준화된 관찰값)을 튜플로 반환
- 회귀선의 기울기, 절편(편차), 상관계수 r을 튜플로 반환
numpy.prod(x, axis=None)
- x: 배열 객체
- 지정한 축(axis)를 기준으로 x의 각 요소들의 곱을 계산
DataFrame.product(axis, …)
- DataFrame 객체의 지정한 축(axis)을 기반으로 동일한 행 또는 열의 값들을 곱을 수행
itertools.product(객체, repeat=1)
- 객체를 시행할 경우 모든 경우를 반환
- 인수 repeat은 시행횟수를 지정하며 기본값은 1
- 이 함수의 결과는 게으른 평가로 이루어지므로 결과에 대해 자료형을 지정해 주어야 함
x=[2,1,4] y=itertools.product(x, repeat=2) list(y)
[(2, 2), (2, 1), (2, 4), (1, 2), (1, 1), (1, 4), (4, 2), (4, 1), (4, 4)]
Q
pandas.qcut(데이터, q, labels, retbins=False, &hellips;)
- 데이터를 q에 따라 그룹화
- 데이터: 1차원 배열 또는 Series
- q(bins)는 데이터를 목록화하기 위한 기준값(들), 정수(구분구간을 표시) 또는 [0, 1]사이의 실수로 구분을 위한 벡분율 예)[0., .25, .5,.75, 1.]
- labels는 각 그룹의 명칭
- retbins=True 이면 bins, labels를 반환
la.qr(M)
- 행렬 M의 QR 분해하여 Q, R을 튜플로 반환
scipy.integrate.quad(식, 변수)
- 지정한 변수에 대해 식을 미분
- 식은 lambda에 의해 정의한 함수
- 미분한 결과와 오차범위를 반환
numpy.quantile(x, q, axis=none)
- 지정된 축을 따라 데이터(x)의 q번째 분위수를 계산합니다.
- q: [0, 1]사이의 값 또는 그 사이 값들로 구성된 리스트
- 예로 4분위수의 경우 :0.25, 0.50, 0.75
- axis: 2차원이상의 객체의 경우 기준이 되는 축을 지정
- axis = 1 → 행
- axis = 0 → 열
- axis를 지정하지 않는 경우 객체를 1차원으로 인식하여 모든 값들에 대해 계산합니다.
np.precentile()
함수는 동일한 결과를 나타내지만 q는 [0, 100] 사이의 값 즉, 퍼센트입니다.- 예로 4분위수의 경우 :25, 50, 75
R
r2_score(y_ture, y_pred, …)
- 회귀모델의 결정계수(R2)를 반환
numpy.random.randint(start, end, size)
- 시작과 마지막의 구간을 지정하여 지정한 크기의 랜덤 정수를 생성
np.rad2deg(rad)
- radian값을 θ로 변환
np.radians(θ)
- θ를 radian값으로 변환
np.random.randint(start, end, size=())
- a. [시작, 끝-1]의 범위에서 지정한 size의 랜덤수(정수)를 생성
- size: 결과의 크기와 형태 지정
- 정수 하나이면 결과를 리스트로 반환.
- "(행의 수, 열의 수)"와 같이 튜플형식으로 지정할 경우 배열로 반환
Rational(x) 또는 Rational(분자, 분모)
- 부동소수를 분수로 전환하여 반환하는 sympy 함수
- 두개의 정수 즉, 분자와 분모를 전달하여 분수를 표현
- 전달하는 인수를 문자형으로 전환하여 전달
- Rational('5/3') , Rational(5, 3)
- (5/3, 5/3)
numpy.ravel(x, order="C" )
- 객체 x를 1차원 벡터로 변환
- order는 변환하는 축의 방향을 지정하는 매개변수
- "C"는 행우선
- "F"는 열 우선
- \begin{bmatrix}1&2\\3&4\end{bmatrix} \rightarrow \begin{cases} \text{'C'}: & [1,2,3,4]\\ \text{'F'}: & [1,3,2,4]\end{cases}
arr.reshape(# of row, # of column)
- 원소의 수 = 행의 수 × 열의 수가 성립한다면 배열(벡터 또는 행렬)의 형태를 지정한 행과 열에 따라 재배열
- 행 또는 열에 특정한 인수가 -1인 경우 다른 인수를 기준으로 차원이 변경됩니다.
sklearn.feature_selection.RFE(estimator, n_features_to_select=None, step=1, ...)
- 회귀계수나 변수 중요도(상관계수의 절대값)등의 결정기준으로 모델 생성에 약한 영향을 주는 변수를 제거하는 클래스.
- 이 과정은 지정한 설명변수의 수(n_features_to_select)에 도달 할 때까지 반복됩니다.
- estimator: 모델을 생성하는 방법
- n_features_to_select: 최종적으로 선택하는 설명변수의 수 none(기본값)일 경우 full model의 반을 선택
- step: 정수일 경우 반복과정 당 제거할 변수의 수, [0,1]사이의 값이면 제거할 변수의 백분율을 의미
- 속성 n_suppiort, n_ranking은 각각 설명변수의 선택여부를 True/False로 나타내고 영향정도의 순위를 나타냅니다.
sympy객체.removeO()
np.repeat(x, n, axis=None)
- 객체 x내의 각 요소를 n번 반복
- axis: x가 2차원 이상의 객체라면 기준이 되는 축을 지정
np.repeat([1,3], 3)
array([1, 1, 1, 3, 3, 3])
DataFrame.replace(x, y, inplace=False, …)
- 객체내에 포함된 x를 y로 치환
np.reshape(x, shape), x.reshape(shape)
- 배열객체 x를 지정한 모양(shape)로 변환합니다.
- 예를 들어 4개의 요소를 가진 1차원 벡터를 2행 2열의 행렬로 변환하기 위해
np.shape(x, (2,2))
를 시행 - 차원 중 하나의 인수를 -1로 전달하는 경우 상대 차원에 따라 자동 조정합니다. (-1, 1)인 경우 1열로 조정한 후 행을 조정합니다.
- 예를 들어 4개의 요소를 가진 1차원 벡터를 2행 2열의 행렬로 변환하기 위해
sklearn.linear_model.Ridge(alpha=1.0, *, fit_intercept=True, max_iter=1000, tol=0.0001, …)
- ridge 회귀모델을 위한 클래스(ridge 회귀모형생성)
- l2 norm을 적용합니다.
- model=sklearn.linear_model.ridge()
- model.fit(x, y): 클래스에 적용될 설명변수, 종속변수를 전달하는 메서드
- model.predict(x): 생성된 모형에 의한 추정값 산출하는 메서드
- model.score(x, y): 결정계수(R2)을 반환하는 메서드
- model.coef_: 모형의 회귀계수를 반환하는 속성
- model.intercept_: 모형의 편차를 반환하는 속성
- 이외에도 다양한 메소드와 속성이 존재합니다.
RidgeCV(alphas=, …)
클래스는 여러개의 소멸계수(α)를 인수로 전달하여 교차검증(cross-validation) 방법으로 적절한 α를 선정하고 대응하는 ridge 모델을 생성합니다.
DataFrame.rolling(n, axis=0 …)
- DataFrame 객체에서 지정한 축(axis)을 기준으로 n 번 이동한 상태를 유지
- 이 함수에 이어지는 함수에 따라 결과를 반환
- 예) A.rolling(n=5, axis=0).mean()의 경우 행을 기준으로 5번 이동한 값들의 평균을 계산.
- 이러한 이동은 A의 처음부터 마지막까지 이루어지므로 결국 각 열의 5일 이동평균을 계산.
round(값, 자릿수)
- 실수인 값을 지정한 자릿수까지 반올림하는 파이썬 코아의 내장함수
sklearn.feature_selection.r_regression(x, y, center=True)
- x의 각 설명변수와 반응변수 y의 pearson's r(상관계수)와 유의확률(p-value)를 반환
- 이 함수의 인수 중 y는 1차원 즉, 벡터이어야 합니다.
x1.row_join(x2)
- 객체 x1과 x2를 행의 방향으로 결합
x.rref(x)
- sympy객체 x의 기약행사다리꼴을 생성.
- 이 함수의 결과는 다음과 같이 터플 형식으로 반환됩니다. (기약행사다리꼴 행렬, column space 열의 번호)
S
x.sample(n=None, frac=None, replace=False, random_seed=None, axis=None, …)
- DataFrame 또는 Series객체 x에서 지정한 수(n)만큼의 자료를 무작위로 샘플링
- n 대신 선택할 표본의 비율(frac)을 지정할 수 있음
- replace=False: 동일한 행 또는 열을 선택하지 않음
- random_seed=정수, 표집의 재현성을 확보(np.random.seed참조)
- axis: DataFrame 객체일 경우 기준 축을 지정
sklearn.preprocessing.scale(x, axis=0)
- 배열객체 x를 지정한 축에 따라 표준화를 수행하는 함수
xstd = x − μ σ
plt.scatter(x, y, s, c, marker)
- 산포도를 반환
- x: x축의 인자로서 리스트, iteratable 객체
- y: x에 대응되는 iterable 객체
- 이 함수는 x와 y에 대응하는 점을 나타내는 것으로 점의 크기, 색, 모양을 지정할 수 있음
- s: 크기
- c: 색
- marker : 모양(참조: https://matplotlib.org/stable/api/markers_api.html#module-matplotlib.markers)
numpy.random.seed(정수)
- numpy.random 모듈로 부터 랜덤수 생성은 코드 실행시 마다 다른 수를 반환하는데 같은 수가 필요할 경우 이 함수와 함께 코드를 실행합니다. 이 함수에 전달한 정수하에서는 같은 알고리즘으로 랜덤수를 생성합니다.
sklearn.feature_selection.SelectFromeModel(estimator, threshold, max_features,...)
- RFE() 클래스와 같은 기전을 가지지만 임계값(threshold)을 설정하여 그 이상 값을 나타내는 변수들 사이에서 선택이 이루어집니다.
- 이 임계값은 모든 변수 중요도의 중앙값(평균) 또는 그 값들의 배수로 지정할 수 있습니다. 이 인수가 None으로 지정된 경우는 임계값은 평균이 됩니다.
sklearn.feature_selection.SelectKBest(function, k=10)
- 지정한 함수(function)에 의한 점수에 따라 높은 순으로 지정한 수(k)의 변수를 선택
- 사용할 다양한 함수(fucntion)들이 있지만 회귀분석에서는 r_regreesion(상관계수(R) 값이 결정기준), f_regression을 사용, 각 설명변수와 반응변수의 모델에서 F-value값을 반환
- 지정한 변수의 수 k의 기본값은 10
- scores_, pvalues_등의 속성을 가짐
DataFrame.sem(axis=None, ddof=1)
- 지정한 축(axis)을 기준으로 Dataframe에 대한 표준오차를 계산
- axis=None은 기본값으로 0과 같음
- ddof는 자유도를 계산하기 위한 수를 지정, 전체수-ddof
sklearn.feature_selection.SequentialFeatureSelector(estimator, n_features_to_select='warn', tol=None, direction='forward', scoring=None, ...)
- RFE, SelectFromModel()클래스와 같이 변수 중요도(feature_imortances_)를 기준을 사용하여 재귀적 방법으로 변수를 선택.
- 매개변수 direction에 다음 인수를 지정하여 새로운 변수를 첨가 또는 기존의 변수를 제거하는 방향으로 변수를 선택
- forward: 시작모델 "반응변수 = 편차항"
- backward: 시작 모델"반응변수 = 편차항 + 모든 설명변수"
- estimator: 추정모델
- n_feature_to_select
- 정수: 최종 변수의 수
- [0, 1] 사이의 값은 선택되는 변수의 백분율
- "auto"일 경우 tol에 따라 실행(기본값 warn과 같음)
- "tol": score의 변화가 없는 수준에 변수의 선택실행이 중지됩니다. 그 변화의 정도를 지정
- scoring: R2등의 점수, 지정하지 않은 경우 (None) 추정기로부터 적용할 수 있는 score를 사용
pandas.Series(x, index)
- 1차원 배열 객체(벡터)를 표의 형태로 생성
- x: 리스트, 또는 array 객체
- index: 행이름
- 함수에서 직접적으로 행과 열이름을 전달할 수 있지만 Series 객체를 생성한 후 다음과 같이 행 이름을 지정할 수 있습니다.
- Series객체.index: 행이름 지정
-
.values
속성을 사용하여 객체의 값만을 추출하여 numpy 배열형을 변환
sympy.series(함수 또는 식, x=None, x0=0, n=6, dir="+")
- 함수 또는 식의 급수 전개를 반환합니다.
- x: 변수
- x0: 변수의 초기값
- n: 급수를 전개 할 항의 개수
- dir: 급수 전개의 방향을 지정합니다.
x.shape
- 객체 x의 모양(행의 수 그리고 열의 수)을 반환하는 속성(attribution)
- x: arry, Series, DataFrame
scipy.stats.shapiro(x)
- 자료 x에 대한 shapiro-Wilk 검정을 실시
- 통계량 w와 p-value 를 반환
X.shift(periods=1, axis=0, fill_value=np.nan)
- X(DataFrame, Series의 pandas 객체)의 데이터를 앞 또는 뒤로 이동
- periods = num
- 지정한 수(양수) 만큼 데이터를 앞으로 이동
- 음수이면 뒤로 이동
- 행단위로 이루어지기 위해서 axis=0, 열단위는 1로 지정
np.sin(rad)
- radian 값에 대응하는 sin 값을 반환
x.size
- 객체 x의 자료의 구조에 상관없이 전체 값의 수(크기)를 반환하는 속성
- x: arry, Series, DataFrame 형
scipy.stats.skew(data, axis=0)
- 지정한 축에 따라 자료의 왜도를 반환
numpy.linalg.solve()
- solve(a, b)
- a·x=b의 방정식에서 미지수 x의 값을 계산
- solve(expression or matrix)
- solve(A, b),
- 동차방정식 또는 matrix = 0의 식에 대한 미지수의 해를 계산
- solve(a, b)의 형태로 위의 la.solve()와 같음
- 두 함수의 인수는 동차방정식(식 = 0)의 형태
- 연립방정식과 같이 여러 개의 식들이 입력될 경우 괄호로 묶어 줍니다.
- solve((eq1, eq2, ...), (var1, var2,...)
- 행렬 시스템(선형시스템 참조)의 해를 계산할 수 있습니다.
- A는 계수행렬, x는 변수벡터, b는 A와 x의 행렬곱에의한 결과벡터인 시스템: Solve(A, b)
- sympy.solve() 함수와 같음
sympy.solve(식, 변수)
- 동차방정식(homogeneous equation, 변수)에서 미지수(변수)의 해를 계산
np.sort(x, axis=-1, kind="quicksort")
- 객체 x를 지정한 축(axis)에 따라 정렬합니다.
- kind는 정렬을 위한 알고리즘 방법을 지정( "quicksort", "mergesort", "heapsort" )
plt.step(x, y)
- x와 y의 교차점들 사이를 선으로 연결하여 계단형태로 작도합니다.
sklearn.preprocessing.StandardScaler(x)
- x는 2차원 배열 객체
- 자료를 다음과 같이 표준화시키기 위한 클래스
xnormalize = x − μ σ
-
.transform()
메서드를 사용하여 자료 변환. -
.inverse_transform()
메서드로 변환된 값에 대응하는 원시 데이터(raw data)로 환원. - 변환에 사용된 평균과 분산은 각각
.mean_, .var_
속성으로 반환.
numpy.std(x, axis=None, ddof=0, ...), DataFrame.std()
- 지정한 축을 기준으로 배열 객체 x의 표준편차를 계산 (=
array.std()
) - axis=None 의 경우 1차원 벡터로 전환하여 표준편차 계산
- ddof: 자료의 자유도를 산출하기 위해 데이터 크기에서 빼주는 값
객체.subs(변수, 값)
- sympy객체 내의 지정된 변수 대신에 값 또는 새로운 변수(들)를 치환하여 계산합니다.
- 치환할 변수가 여러개일 경우 사전(dictionary)형식으로 인수를 전달 합니다.
sum(x)
- x: 리스트 객체
- x를 구성하는 모든 요소들의 합을 계산
np.sum(객체, axis=None)
- 객체의 합을 계산합니다.
- 인수 axis에 축 지정
- 기본값은 none으로 객체의 내의 모든 값의 합을 계산
- 행렬의 경우 열 :0, 행 :1
- 이 순서는 행×열과 같이 객체의 형태를 나타내는 방식에서 오른쪽 부터 0, 1, 2 등을 지정하여 사용.
- =
pandas객체.sum(axis=0)
sympy.Sum(식, (변수, 시작, 마지막))
- 식에서 지정한 변수에 따른 지정한 구간(시작, 마지막)의 합을 계산합니다.
- 이 식은 평가되지 않은 상태로 반환
- 결과를 평가하기 위해서는 .doit() 메소드를 적용합니다.
la.svd(M)
- 행렬 M의 특이값분해를 실시 → M = UΣVT
- 정규직교행렬(U), 특이값, 고유행렬의 전치행렬(VT)을 반환
- ∑: 특이값을 대각 원소로 하는 M과 동일한 차원을 갖는 대각 행렬, 특이값 이외의 부분은 모두 0입니다.
symbols(기호로 사용할 객체, ... )
- 객체를 기호(변수)로 지정합니다. var(객체)함수도 동일합니다.
- 위 함수는 여러 기호를 동시에 지정할 수 있습니다.
- 일반적으로 기호를 지정할 경우 그 기호(변수)의 범위는 실수, 복소수 등의 모든 영역을 포함합니다.
- 변수의 범위 즉, 실수, 양수 등의 범위 조건을 위한 다양한 인자(argumnet)가 존재합니다.
- real=True ;실수영역
- positive=True ;양수영역
- 위 두 조건을 함께 설정할 수 있습니다.; real=True, positive=True
T
M.T
- 행렬 M을 전치시키는 속성
- 함수 transpose (M)와 같은 결과를 반환
np.tile(x, n)
- 객체 x 자체를 n번 반복
np.tile([1,3], 3)
array([1, 3, 1, 3, 1, 3])
pd.Timestamp(x,...)
- pandas time index와 같은 date 객체를 날짜 연산이 가능한 객체인 datetime 형식으로 변환하는 클래스
- 다양한 속성과 메서드를 가지고 있음
- 예를들어
.dayofweek
속성 또는.weekday()
메서드는 날짜에 대응하는 요일을 반환합니다. - 0:월요일 ∼ 7:일요일
- 예를들어
pandas.to_datetime(x)
- x를 datetime 형식으로 변환
- 이 형식은
.year, .month, .day
의 속성을 가집니다. 이 속성으로 인 덱스에서 년, 월, 일에 속한 부분 만을 취할 수 있습니다.
scipy.linalg.toepliz(c, r=None)
- Toepliz 행렬을 생성합니다.
- c: 첫번째 열의 요소로 numpy array형식입니다.
- r: 첫번째 행의 요소로 numpy array형식입니다. 선택사항입니다.
np.trace(M)
- 정방행렬 M의 대각원소 들의 합을 계산
sklearn.model_selection.train_test_split(X, Y, test_size)
- 데이터를 학습 셋과 테스트 셋으로 분리
- X: 설명변수, Y: 반응변수
- test_size: 전체 자료 중에서 검증에 사용할 데이터의 비율
np.transpose(arr, axes=None)
- 객체 a를 전치시키는 함수
- 속성 T의 경우 2차원인 행렬에 대해 행과 열을 교환하는데 반해 이 함수는 3
차원 이상의 객체(텐서)의 전치에서 교환할 축을 지정할 수 있습니다.
- 예를 들어 3차원의 형태가 2 × 3 × 4인 경우를 4 × 2 × 3으로 교환하고자 할 때 다음과 같이 적용합니다.
- 원 객체의 차원의 인덱스 0, 1, 2는 각각 2, 3, 4의 크기를 가집니다. 이의 전환은 0 → 1, 1 → 2, 2 → 0으로 변환되어야 합니다. 그러므로 명령은 다음과 같습니다.
- np.transpose(arr, (1, 2, 0))
np.tril(M, k=0)
- 행렬 M에서 k에 따른 대각 원소들을 기준으로 위쪽의 원소들을 모두 0으로 변환하여 하삼각행렬 생성
- 인수 k는 np.diag() 참조
np.triu(M, k=0)
- 행렬 M에서 k에 따른 대각 원소들을 기준으로 아래쪽의 원소들을 모두 0으로 변환하여 상삼각행렬 생성
- 인수 k는 np.diag()) 참조
scipy.stats.ttest_ind(x, y, axis=0, equal_var=True)
- 독립인 두 그룹 x, y의 t test를 실행
- equal_var는 두 자료의 등분산성을 지정하는 것으로 기본값은 True
- 검정통계량과 유의확률(p-value)를 반환
scipy.stats.ttest_rel(x, y, axis=0)
- x의 각 값에 대응하는 y의 값이 존재하는 두 관련 샘플에 대한 t test를 실시(짝비교)
- 검정통계량과 유의확률(p-value)를 반환
scipy.stats.tukey_hsd(x, y, ...)
- 두 그룹의 평균을 비교하여 studentized range distribution(SRD) 분포를 기준으로 tukey 검정하는 클래스
- x, y, ...: 단변수
- pvalue, statistic의 속성, confidence_interval(confidence_level=0.95)로 각 결과를 반환
statsmodels.stats.multicomp.pairwise_tukeyhsd(x, group, alpha=0.05)
- 두 그룹의 평균을 비교하여 studentized range distribution(SRD) 분포를 기준으로 tukey 검정하는 함수
- x: 이 함수의 대상 자료는 각 group에 대응하는 반응변수
- p-value와 alpha에 지정된 유의 수준에서의 신뢰구간을 반환
plot_simultaneous()
메소드를 사용하여 결과를 시각적으로 나타냄
type(x)
- 객체 x의 자료형을 반환하는 함수
U
np.unique(x, return_index=False, return_counts=False, axis=None)
- 객체 x에서 고유한 요소들과 각각의 빈도를 반환
- return_index: 반환된 요소들의 인덱스 (첫 번째로 감지되는 인덱스)
- return_counts: 각 고유값(unique)의 빈도수
- axis=None: 함수가 실행되는 기준 축, None는 객체를 1차원으로 전환
V
pd객체.values
- Series, DataFrame의 pandas객체에서 값만을 추출하여 numpy 배열로 반환
pd객체.value_counts(normalize=False, sort=True, ascending=False, dropna=True)
- 고유한 값의 빈도수를 포함하는 Series를 반환합니다.
- normalize: 빈도수를 상대 빈도로 변환
- sort: 빈도수에 따라 결과를 정렬
- ascending=True 올림차순, False 내림차순
- dropna=True, 결측치를 제거
numpy.var(x, axis=None, ddof=0, ...), x.var(axis=None, ddof=0, ...)
- 객체 x의 분산을 계산
- x: array, DataFrame, Series 객체
- axis: 연산의 방향을 지정
- ddof: 자료의 자유도를 산출하기 위해 고려되는 값
statsmodel.stats.outliers_influence.variance_inflation_factor(변수, 제외할 변수의 인덱스)
- 설명변수에서 특정한 변수를 제외한 경우의 VIF를 계산
np.vstack((a, b, c,…))
- 객체들을 열방향으로 결합 (= np.r_[a, b, c, …])
W
pd객체.weekday()
- 요일을 정수로 반환하는 메소드
- 월요일 : 0 ∼ 일요일 : 6
numpy.where(조건)
- 조건이 참인 경우의 인덱스를 튜플 형식으로 반환
DataFrame.where(조건, other=None)
- 객체내에 조건에 부합하는 값들을 other로 치환. other를 지정하지 않을 경우 조건에 부합하는 값은 NaN으로 치환.
Z
statsmodels.stats.weightstats.zconfint(x, y=None, value=0, alpha=0.05, alternative="two-side", ddof=1.0)
- alpha를 통해 유의수준을 지정
- 다른 인자들은 ztest() 함수와 같음
- 결과: (신뢰구간의 하한, 상한)
scipy.stats.zscore(x)
- 객체의 값들을 z 점수화하여 반환
statsmodels.stats.weightstats.ztest(x, y=None, value=0, alternative="two-side", ddof=1.0)
- x, y는 배열 데이터로 1차원 또는 2차원, y는 생략 가능
- value는 귀무가설에 고려되는 값
- one-sample → H0: μ = value
- two-sample → H0: xbar - ybar = value
- alternative
- "wo-side" → H0: xbar = ybar
- "larger" → H0: xbar > ybar
- "smaller" → H0: xbar < ybar
- ddof는 자유도를 계산하기 위해 자료 크기에 제외하는 수
- 결과: (검정통계량, p-value)
댓글
댓글 쓰기